package com.quanquan.store.shenxinpay.utils;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Random;

public class StringUtils {
	public static boolean isEmpty(String arg) {
		return (null == arg || arg.trim().length() < 1);
	}
	
	public static <T> boolean isEmpty(T arg) {
		return (null == arg || arg.equals(""));
	}

	public static boolean isNotEmpty(String arg) {
		return !isEmpty(arg);
	}

	public static String DateTimeFormat(Timestamp date) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return sdf.format(date);
	}

	public static String createNonceStr(int length) {
		String[] chars = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r",
				"s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
				"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7",
				"8", "9" };
		int cl = chars.length;
		StringBuffer sb = new StringBuffer();
		Random random = new Random();
		for (int i = 0; i < length; i++) {
			sb.append(chars[random.nextInt(cl - 1)]);
		}
		return sb.toString();
	}

	public static <T extends CharSequence> T defaultIfEmpty(T str, T defaultStr) {
		return isEmpty(str) ? defaultStr : str;
	}
}
